"""
tuple :元组！
不可变的列表！  元组中第一层的内存地址不可变！  内部存在列表的话可以追加删除内容！ 列表里面的东西可变！
t = (..,..)
固定某些数据，不允许外界修改！

"""

# t = ("123","456")
# print(t)

#元组只有一个元素  ()默认是优先级！ 自动去除！
# t = ("Haha")

#元组只有一个元素(..,) 后面加一个, 就保证其是元组了！
# t = ("Haha",)

#元组中的列表内容可变，地址不可变！不能变成其他列表！
# t = (1,2,3,[1,2,3])
# t[3].remove(3)
# print(t)



"""
set 集合！无序！ 不可重复！
s = {1,2}   必须有内容！不然{}默认为字典！
set集合进行数据存储时，需要对数据进行哈希计算，根据计算出来的哈希值进行存储！
要求存储的数据必须可以进行哈希计算！
可哈希计算的类型： int, str, tuple(元组), bool！  --不可变的数据类型 内容一般不可变(不重新赋值的话)！
不可哈希计算：list, dict, set  --可变的数据类型 (内容一般可变,可增删)！

s.add(..)
s.remove(..)
s.pop()
想要修改必须先删除,在新增！
通过循环进行查询！
"""

# s = {1,2,3}

#创建空集合
s = set()
#创建空元组
t = tuple()
#创建空列表
l = list()
#创建空字符串
# s = str()


#s.add(..) 添加指定内容！ 增加
s.add(1)
s.add(2)

#s.pop() 由于集合无序！弹出一个内容！不确定是谁
# s.pop()

# #s.remove(..) 移出指定内容！
# s.remove(1)
# print(s)

#交集 并集 差集
s1 = {"刘能","赵四","LKL"}
s2 = {"LKL","刘能","刘科长"}

# s1&s2   & , s1.intersection()s2 代表求交集
print(s1&s2)
print(s1.intersection(s2))

#s1|s2 并集！ |,s1.union(s2)
print(s1 | s2)
print(s1.union(s2))

#差集 s1 -s2 ! -,s1.difference(s2)!
print(s1-s2)
print(s1.difference(s2))


#set 去重 ！将列表转化为集合！ 再将集合转化为列表！ set(lst) list(set(lst)) ! 列表名不能与list重名！
#去重之后的结果无序！
lst = ["LKL","ZJL","ZJ","LKL"]
print(lst)
print(set(lst))
print(list(set(lst)))

